package algorythms;

import individuals.Individual;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MixtoRuleta {

	/** n tiene que ser menor que el k ingresado en la entrada del programa*/
	public List<Individual> applyAlgorythm(List<Individual> population, int k, int n) {

		List<Individual> auxP = new ArrayList<Individual>(population);
		Collections.sort(auxP);
		
		List<Individual> res = new ArrayList<Individual>();
		
		List<Individual> part1 = new Elite().applyAlgorythm(auxP, n);
		res.addAll(part1);
		
		auxP.removeAll(part1);
		res.addAll(new Ruleta().applyAlgorythm(auxP, k-n));
		
		return res;
		
	}

}
